Steps towards Mechanizing Program Transformations Using Pvs ?
نویسندگان
چکیده
PVS is a highly automated framework for speciication and veriication. We show how the language and deduction features of PVS can be used to formalize, mechanize , and apply some useful program transformation techniques. We examine two such examples in detail. The rst is a fusion theorem due to Bird where the composition of a catamorphism (a recursive operation on the structure of a datatype) and an anamorphism (an operation that constructs instances of the datatype) is fused to eliminate the intermediate data structure. The second example is Wand's continuation-based transformation technique for deriving tail-recursive functions from non-tail-recursive ones. These examples illustrate the utility of the language and inference features of PVS in capturing these transformations in a simple, general , and useful form.
منابع مشابه
Steps Toward Mechanizing Program Transformations Using PVS
PVS is a highly automated framework for speciication and veriication. We show how the language and deduction features of PVS can be used to formalize, mechanize , and apply some useful program transformation techniques. We examine two such examples in detail. The rst is a fusion theorem due to Bird where the composition of a catamorphism (a recursive operation on the structure of a datatype) an...
متن کاملRepresenting, Verifying and Applying Software Development Steps using the PVS System
In this paper generic software development steps of diierent complexity are represented and veriied using the (higher-order, strongly typed) speciication and veriication system PVS. The transformations considered in this paper include \large" powerful steps encoding general algorithmic paradigms as well as \smaller" transformations for the operationalization of a descriptive speciication. The a...
متن کاملFormal software development using generic development steps
This talk is concerned with a mechanized formal treatment of the transformational software development process in a uniied framework. As a formal vehicle, the speciication and veriication system PVS 7] is utilized to integrate development steps and development methods from diierent existing transformational approaches (for example, PROSPECTRA 6], KIDS 9], CIP 1,5,8], Bird-Meertens 2]). Integrat...
متن کاملFormal Veri cation of Transformations forPeephole Optimization ?
In this paper we describe a formal veriication of transformations for peephole optimization using the PVS system 12]. Our basic approach is to develop a generic scheme to mechanize these kinds of veri-cations for a large class of machine architectures. This generic scheme is instantiated with a formalization of a non-trivial stack machine 14] and a PDP-11 like two-address machine 2], and we pro...
متن کاملFormalizing Type Theory in PVS: a case study
In this case study we investigate the use of PVS for developing type theoretical concepts and verifying the correctness of a typing algorithm. PVS turns out to be very useful for efficient development of a sound basic theory about polymorphic typing. This research contributes to the PoplMark challenge on mechanizing metatheory. The correctness of the typing algorithm is expressed as the so-call...
متن کامل